package com.zh.yqbj.service;

import com.zh.yqbj.VO.NoteVO;
import com.zh.yqbj.dto.NoteDTO;
import com.zh.yqbj.entity.Note;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zh
 * @since 2024-03-27 03:50:11
 */
public interface NoteService extends IService<Note> {
    /**
     * 查询具体一篇笔记
     * @param noteId
     * @return
     */
    NoteVO getNote(String noteId);

    /**
     * 保存笔记 同时保存空间-笔记中间表
     * @param noteDTO
     */
    void saveNote(NoteDTO noteDTO);

    /**
     * 更新笔记
     * @param noteDTO
     */
    void updateNote(NoteDTO noteDTO);

    /**
     * 删除笔记 逻辑删除空间-笔记表 status - 1
     * @param noteId
     */
    void deleteNote(String noteId);

    /**
     * //TODO 永久删除笔记 status - 2 从此算起 7日后清除（Task做）
     * @param noteId
     */
    void removeNote(String noteId);

    /**
     * 回收站恢复笔记
     * @param noteId
     */
    void recycleNote(String noteId);
}
